import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '@/components/Login.vue'
import Home from '@/components/Home.vue'
import Welcome from '@/components/Welcome.vue'
import Users from '@/components/user/Users.vue'
import Rights from '@/components/power/Rights.vue'
import Roles from '@/components/power/Roles.vue'
import Categories from  '@/components/goods/Categories.vue'
import Params from  '@/components/goods/Params.vue'
import Goods from  '@/components/goods/Goods.vue'
import Add from  '@/components/goods/Add.vue'
import Orders from  '@/components/order/Orders.vue'
import Report from  '@/components/report/Report.vue'
Vue.use(VueRouter)
const router = new VueRouter({
    routes: [
        //重定向
        { path: '/', redirect: '/login' },
        { path: '/login', component: Login },
        {
            path: '/home',
            component: Home,
            //登录成功默认访问home，再重定向到welcome组件
            redirect: '/welcome',
            children: [
                {path: '/welcome',component: Welcome},
                {path:'/users',component:Users},
                {path:'/rights',component:Rights},
                {path:'/roles',component:Roles},
                {path:'/categories',component:Categories},
                {path:'/params',component:Params},
                {path:'/goods',component:Goods},
                {path:'/goods/add',component:Add},
                {path:'/orders',component:Orders},
                {path:'/reports',component:Report},
            ]
        },
    ]
})

//挂载路由导航守卫
router.beforeEach((to, from, next) => {
    if (to.path === '/login') {
        //to 将要访问的路径
        //from 代表从哪个路径来的
        //next 是一个函数 next()放行  或next('/login')强制跳转
        return next()
    }
    //获取token
    const tokenStr = window.sessionStorage.getItem('token')
    if (!tokenStr) return next('/login')
    next()
})
//暴露路由器对象
export default router